home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Aztec C v5.2a disk 4.adf / 204inc_i.lzh / rexx / rxslib.i < prev    next >
Text File  |  1991-03-14  |  6KB  |  206 lines

  1.      IFND      REXX_RXSLIB_I
  2. REXX_RXSLIB_I  SET   1
  3. **
  4. **
  5. **    Include file for the REXX Systems Library
  6. **
  7. **    (C) Copyright 1986,1987,1988,1989,1990 William S. Hawes.
  8. **        All Rights Reserved
  9. **
  10.  
  11.      IFND      REXX_STORAGE_I
  12.      INCLUDE  "rexx/storage.i"
  13.      ENDC
  14.  
  15.      ; Macro definitions
  16.  
  17. RXSLIBNAME MACRO
  18.      dc.b      'rexxsyslib.library',0
  19.      ENDM
  20.  
  21. RXSDIR     MACRO                   ; public port name
  22.      dc.b      'REXX',0
  23.      ENDM
  24.  
  25. RXSTNAME MACRO                   ; name for tasks
  26.      dc.b      'ARexx',0
  27.      ENDM
  28.  
  29.      ; Structure definition for the REXX systems library
  30.  
  31.      STRUCTURE RxsLib,LIB_SIZE     ; EXEC library node
  32.      UBYTE      rl_Flags           ; global flags
  33.      UBYTE      rl_Shadow           ; shadow flags
  34.      APTR      rl_SysBase           ; EXEC library base
  35.      APTR      rl_DOSBase           ; DOS library base
  36.      APTR      rl_IeeeDPBase        ; IEEE DP math library base
  37.      LONG      rl_SegList           ; library seglist
  38.      LONG      rl_NIL           ; NIL: stream
  39.      LONG      rl_Chunk           ; allocation quantum
  40.      LONG      rl_MaxNest           ; maximum expression nesting
  41.  
  42.      APTR      rl_NULL           ; static string: NULL
  43.      APTR      rl_FALSE           ; static string: FALSE
  44.      APTR      rl_TRUE           ; static string: TRUE
  45.      APTR      rl_REXX           ; static string: REXX
  46.      APTR      rl_COMMAND           ; static string: COMMAND
  47.      APTR      rl_STDIN           ; static string: STDIN
  48.      APTR      rl_STDOUT           ; static string: STDOUT
  49.      APTR      rl_STDERR           ; static string: STDERR
  50.      APTR      rl_Version           ; version string
  51.  
  52.      APTR      rl_TaskName           ; name string for tasks
  53.      LONG      rl_TaskPri           ; starting priority
  54.      LONG      rl_TaskSeg           ; startup seglist
  55.      LONG      rl_StackSize           ; stack size
  56.      APTR      rl_RexxDir           ; REXX directory
  57.      APTR      rl_CTABLE           ; character attribute table
  58.      APTR      rl_Notice           ; copyright notice
  59.  
  60.      STRUCT   rl_RexxPort,MP_SIZE  ; public port
  61.      UWORD      rl_ReadLock           ; lock count
  62.      APTR      rl_TraceFH           ; global trace console
  63.  
  64.      STRUCT   rl_TaskList,LH_SIZE  ; REXX task list
  65.      WORD      rl_NumTask
  66.      STRUCT   rl_LibList,LH_SIZE   ; Library List header
  67.      WORD      rl_NumLib
  68.      STRUCT   rl_ClipList,LH_SIZE  ; ClipList header
  69.      WORD      rl_NumClip
  70.      STRUCT   rl_MsgList,LH_SIZE   ; pending messages
  71.      WORD      rl_NumMsg
  72.      STRUCT   rl_PgmList,LH_SIZE   ; cached programs
  73.      WORD      rl_NumPgm           ; cache count
  74.  
  75.      UWORD      rl_TraceCnt           ; trace console usage count
  76.      WORD      rl_avail
  77.      LABEL      rl_SIZEOF
  78.  
  79. * Global flag bit definitions for RexxMaster
  80. RLFB_TRACE EQU      RTFB_TRACE           ; interactive tracing?
  81. RLFB_HALT  EQU      RTFB_HALT           ; halt execution?
  82. RLFB_SUSP  EQU      RTFB_SUSP           ; suspend execution?
  83. RLFB_STOP  EQU      6               ; deny further invocations
  84. RLFB_CLOSE EQU      7               ; close the master
  85.  
  86. * Mask for control flags
  87. RLFMASK  EQU      1<<RLFB_TRACE!1<<RLFB_HALT!1<<RLFB_SUSP
  88.  
  89.      ; Initialization constants
  90.  
  91. RXSCHUNK EQU      1024               ; allocation quantum
  92. RXSNEST  EQU      32               ; expression nesting limit
  93. RXSTPRI  EQU      0               ; task priority
  94. RXSSTACK EQU      4096               ; stack size
  95.  
  96.      ; The library entry point offsets
  97.  
  98.      LIBINIT
  99.      LIBDEF   _LVORexx           ; Main entry point
  100.      LIBDEF   _LVOrxParse           ; (private)
  101.      LIBDEF   _LVOrxInstruct       ; (private)
  102.      LIBDEF   _LVOrxSuspend        ; (private)
  103.      LIBDEF   _LVOEvalOp           ; (private)
  104.  
  105.      LIBDEF   _LVOAssignValue      ; (private)
  106.      LIBDEF   _LVOEnterSymbol      ; (private)
  107.      LIBDEF   _LVOFetchValue       ; (private)
  108.      LIBDEF   _LVOLookUpValue      ; (private)
  109.      LIBDEF   _LVOSetValue           ; (private)
  110.      LIBDEF   _LVOSymExpand        ; (private)
  111.  
  112.      LIBDEF   _LVOErrorMsg
  113.      LIBDEF   _LVOIsSymbol
  114.      LIBDEF   _LVOCurrentEnv
  115.      LIBDEF   _LVOGetSpace
  116.      LIBDEF   _LVOFreeSpace
  117.  
  118.      LIBDEF   _LVOCreateArgstring
  119.      LIBDEF   _LVODeleteArgstring
  120.      LIBDEF   _LVOLengthArgstring
  121.      LIBDEF   _LVOCreateRexxMsg
  122.      LIBDEF   _LVODeleteRexxMsg
  123.      LIBDEF   _LVOClearRexxMsg
  124.      LIBDEF   _LVOFillRexxMsg
  125.      LIBDEF   _LVOIsRexxMsg
  126.  
  127.      LIBDEF   _LVOAddRsrcNode
  128.      LIBDEF   _LVOFindRsrcNode
  129.      LIBDEF   _LVORemRsrcList
  130.      LIBDEF   _LVORemRsrcNode
  131.      LIBDEF   _LVOOpenPublicPort
  132.      LIBDEF   _LVOClosePublicPort
  133.      LIBDEF   _LVOListNames
  134.  
  135.      LIBDEF   _LVOClearMem
  136.      LIBDEF   _LVOInitList
  137.      LIBDEF   _LVOInitPort
  138.      LIBDEF   _LVOFreePort
  139.  
  140.      LIBDEF   _LVOCmpString
  141.      LIBDEF   _LVOStcToken
  142.      LIBDEF   _LVOStrcmpN
  143.      LIBDEF   _LVOStrcmpU
  144.      LIBDEF   _LVOStrcpyA           ; obsolete
  145.      LIBDEF   _LVOStrcpyN
  146.      LIBDEF   _LVOStrcpyU
  147.      LIBDEF   _LVOStrflipN
  148.      LIBDEF   _LVOStrlen
  149.      LIBDEF   _LVOToUpper
  150.  
  151.      LIBDEF   _LVOCVa2i
  152.      LIBDEF   _LVOCVi2a
  153.      LIBDEF   _LVOCVi2arg
  154.      LIBDEF   _LVOCVi2az
  155.      LIBDEF   _LVOCVc2x
  156.      LIBDEF   _LVOCVx2c
  157.  
  158.      LIBDEF   _LVOOpenF
  159.      LIBDEF   _LVOCloseF
  160.      LIBDEF   _LVOReadStr
  161.      LIBDEF   _LVOReadF
  162.      LIBDEF   _LVOWriteF
  163.      LIBDEF   _LVOSeekF
  164.      LIBDEF   _LVOQueueF
  165.      LIBDEF   _LVOStackF
  166.      LIBDEF   _LVOExistF
  167.  
  168.      LIBDEF   _LVODOSCommand
  169.      LIBDEF   _LVODOSRead
  170.      LIBDEF   _LVODOSWrite
  171.      LIBDEF   _LVOCreateDOSPkt     ; obsolete
  172.      LIBDEF   _LVODeleteDOSPkt     ; obsolete
  173.      LIBDEF   _LVOSendDOSPkt       ; (private)
  174.      LIBDEF   _LVOWaitDOSPkt       ; (private)
  175.      LIBDEF   _LVOFindDevice       ; (private)
  176.  
  177.      LIBDEF   _LVOAddClipNode
  178.      LIBDEF   _LVORemClipNode
  179.      LIBDEF   _LVOLockRexxBase
  180.      LIBDEF   _LVOUnlockRexxBase
  181.      LIBDEF   _LVOCreateCLI        ; (private)
  182.      LIBDEF   _LVODeleteCLI        ; (private)
  183.      LIBDEF   _LVOCVs2i
  184.  
  185. * Character attribute flag bits used in REXX.
  186. CTB_SPACE   EQU   0               ; white space characters
  187. CTB_DIGIT   EQU   1               ; decimal digits 0-9
  188. CTB_ALPHA   EQU   2               ; alphabetic characters
  189. CTB_REXXSYM EQU   3               ; REXX symbol characters
  190. CTB_REXXOPR EQU   4               ; REXX operator characters
  191. CTB_REXXSPC EQU   5               ; REXX special symbols
  192. CTB_UPPER   EQU   6               ; UPPERCASE alphabetic
  193. CTB_LOWER   EQU   7               ; lowercase alphabetic
  194.  
  195. * The flag form of the character attributes
  196. CTF_SPACE   EQU   1<<CTB_SPACE
  197. CTF_DIGIT   EQU   1<<CTB_DIGIT
  198. CTF_ALPHA   EQU   1<<CTB_ALPHA
  199. CTF_REXXSYM EQU   1<<CTB_REXXSYM
  200. CTF_REXXOPR EQU   1<<CTB_REXXOPR
  201. CTF_REXXSPC EQU   1<<CTB_REXXSPC
  202. CTF_UPPER   EQU   1<<CTB_UPPER
  203. CTF_LOWER   EQU   1<<CTB_LOWER
  204.  
  205.      ENDC
  206.